This invention relates to accessing data storage systems.
An access to a data storage disk proceeds via a sequence of acts that additively contribute to the time needed to complete the access. The sequence includes acts that physically align a disk""s read-write head with the physical storage volume being accessed and acts that actually transfer data to or from the physically aligned storage volume.
The physical alignment typically involves two movements. One movement is a radial travel of the read-write head that aligns the head with a start track of the storage volume to be accessed. The average time for the head travel is referred to as the seek time. The other movement is a rotation of the disk that aligns the read-write head with a start sector of the storage volume to be accessed. The average time for the disk rotational movement is referred to as the rotational latency time.
The access time for a storage disk is the total time needed to complete the acts of the access. Thus, the access time is a sum of the seek time, the rotational latency time, and the actual time to transfer data. Each of these contributions to the sum are dynamical and can depend on the state of the disk and applications using the disk.
The dynamical nature of the contributions to the access time is illustrated by the seek time. The seek time depends on access patterns to individual storage volumes of the disk. If the accesses include many consecutive accesses to the same physical storage volume, the seek time will be small. If the accesses include many consecutive accesses to new physical storage volumes, the seek time will be large. Determining the seek time usually requires measurements of access patterns.
In a first aspect, the invention features a process for determining a seek time of an access head of a physical storage disk. The process includes collecting statistical access data on physical storage volumes served by the access head and determining seek times for a set of reference head travel time functions. Each function depends on distances between pairs of the physical storage volumes. The process also includes performing a sum of the determined seek times. Each term of the sum is weighted by an expansion coefficient of a travel time function of the access head with respect to the set of reference head travel time functions.
The statistical access data may be activity data on the physical storage volumes.
In some embodiments, a value of each reference head travel time function between two of the storage volumes is a second sum terms. In each term of the second sum is proportional to a number raised to a power of the distance between the two of the storage volumes.
In some embodiments, the reference head travel time function is a Fourier basis function.
In some embodiments, the expansion coefficients of the sum are coefficients of a Fourier series expansion for the travel time of the access head.
In some embodiments, each act of determining includes evaluating       ∑          k      ,              j        =        1            ,              xe2x80x83            ⁢              …        ⁢                  xe2x80x83                ⁢        N              ⁢                    a        ⁢                  xe2x80x83                    k        ⁢          a      j        ⁢                  t        kj            .      
The aj""s are values of the activity data. The tkj""s are values of the associated reference head travel time function between the storage volumes xe2x80x9ckxe2x80x9d and xe2x80x9cjxe2x80x9d. Each act of evaluating may also include recursively determining a set of Rk""s defined by       R    k    =            ∑                        j          =          1                ,                  xe2x80x83                ⁢                  …          ⁢                      xe2x80x83                    ⁢          N                      ⁢          xe2x80x83        ⁢                  a        j            ⁢                        t          kj                .            
In a second aspect, the invention features a process for determining a seek time of a disk access head. The process includes collecting statistical access data on physical storage volumes served by the disk access head and determining a seek time from the collected activity data and a reference head travel time function. The reference head travel time function between a pair of the storage volumes is a weighted sum of numbers to powers of a distance between the pair of the storage volumes.
The statistical access data may be activity data on the physical storage volumes.
In some embodiments, each number to a power is an exponential function of the distance between the pair of the storage values.
In some embodiments, the determining includes evaluating       ∑          k      ,              j        =        1            ,              xe2x80x83            ⁢              …        ⁢                  xe2x80x83                ⁢        N              ⁢                    a        ⁢                  xe2x80x83                    k        ⁢          a      j        ⁢                  t        kj            .      
The aj""s are values of the activity data. The tkj""s are values of the reference head travel time function between the physical storage volumes xe2x80x9ckxe2x80x9d and xe2x80x9cjxe2x80x9d. The act of evaluating may also include a recursive determination of a set of Rk""s defined by       R    k    =            ∑                        j          =          1                ,                  xe2x80x83                ⁢                  …          ⁢                      xe2x80x83                    ⁢          N                      ⁢          xe2x80x83        ⁢                  a        j            ⁢                        t          kj                .            
In a third aspect, the invention features a process for determining a seek time. The process includes measuring activities of physical storage volumes served by an access head, decomposing a travel time function of the head into Fourier components and determining seek times for a portion of the Fourier components of the travel time function. The process also includes adding the seek times for the Fourier components to form a sum weighted by coefficients of a finite Fourier expansion of the travel time function of the head.
In some embodiments, each act of determining includes evaluating       ∑          k      ,              j        =        1            ,              xe2x80x83            ⁢              …        ⁢                  xe2x80x83                ⁢        N              ⁢                    a        ⁢                  xe2x80x83                    k        ⁢          a      j        ⁢                  t        kj            .      
The aj""s are values of the activity data. The tkj""s are values of the associated Fourier components of the travel time function between the storage volumes xe2x80x9ckxe2x80x9d and xe2x80x9cjxe2x80x9d. Each act of evaluating may include recursively determining a set of Rk""s defined by       R    k    =            ∑                        j          =          1                ,                  xe2x80x83                ⁢                  …          ⁢                      xe2x80x83                    ⁢          N                      ⁢          xe2x80x83        ⁢                  a        j            ⁢                        t          kj                .            
In a fourth aspect, the invention features a data storage media storing one or more programs of computer executable instructions for performing one or more of the above-described processes.
In a fifth aspect, the invention features a system for determining a seek time of an access head of a storage disk. The system includes means for collecting statistical data on accesses to physical storage volumes served by the access head and means for determining seek times for a set of reference head travel time functions. The functions depend on distances between pairs of the physical storage volumes. The system also includes means for performing a sum of the determined seek times. Each term of the sum is weighted by an expansion coefficient of a travel time function of the access head with respect to the set of reference head travel time functions.
In some embodiments, the statistical data may include activity data oh the physical storage volumes of the storage disk.
In some embodiments, the value of each reference head travel time function between two of the storage volumes is a second sum of one, two, or three terms. Each term is proportional to a number raised to a power of the distance between the two of the storage volumes.
In various embodiments, the activity data for a storage volume may be a weighted sum of numbers of reads and writes on the storage volume.
In various embodiments, each physical storage volume is defined by a track range and a sector range on a surface of the storage disk.
Other features and advantages of the invention will be apparent from the detailed description and claims.